package com.foo.example.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 登录、人员注册、我的个人信息
 * @author Administrator
 *
 */
@Entity
@Table(name = "cq_sys_user")
public class SystemUser {
	
	@Id
	@Column(name = "id",length = 32)
	@javax.persistence.GeneratedValue(generator = "system-uuid")
	@org.hibernate.annotations.GenericGenerator(name = "system-uuid", strategy = "uuid.hex")
	private String id;
	
	@Column(nullable = false)
	private Long userNo;     //会员编号
	
	@Column(length = 100,nullable = false)
	private String username; //会员姓名
	
	@Column(length = 100,nullable = false)
	private String password; //登陆密码
	
	@Column(length = 100,nullable = false)
	private String operationPwd; //操作密码
	
	@Column(length = 100,nullable = true)
	private String nickName;     //昵称
	
	private Date birthday;  //生日
	
	@Column(length = 4,nullable = true)
	private String sex;//性别
	
	@Column(length = 100,nullable = true)
	private String email;//邮箱
	
	@Column(length = 100,nullable = true)
	private String idNo;//身份证号
	
	@Column(length = 200,nullable = true)
	private String address;//住址
	
	@Column(length = 30,nullable = true)
	private String telephone;//固定电话
	
	@Column(length = 30,nullable = true)
	private String mobilephone;//手机
	
	@Column(length = 30,nullable = true)
	private String qq;//QQ
	
	@Column(length = 100,nullable = true)
	private String msn;//MSN
	
	@Column(length = 10,nullable = true)
	private String postcode;//邮政编码
	
	@Column(length = 2,nullable = true)
	private String starLevel;//星级(1,2,3,4分别表示一到四星用户,5表示董事)
	
	//帐户信息
	//---------------------------------
	@Column(length = 100,nullable = true)
	private String accountUserName;//开户名
	
	@Column(length = 100,nullable = true)
	private String bankName;//开户银行
	
	@Column(length = 100,nullable = true)
	private String branchBankName;//开户银行支行(开户行(支行/分理处))
	
	@Column(length = 100,nullable = true)
	private String branchCardNo;//开户银行帐号(卡号)
	
	@Column(length = 100,nullable = true)
	private String province;//收款帐号省份
	
	@Column(length = 100,nullable = true)
	private String city;//收款帐号城市
	
	@Column(nullable = false)
	private Double myAccountBalance;//我的帐户
	
	//------------------------------------
	@Column(nullable = false)
	private Long referrerNo;     //推荐人会员编号
	
	@Column(nullable = false)
	private Long parentNodeUserNo;     //父亲节点会员编号
	
	private Date addDate;  //录入数据日期
	
	@Column(length = 10,nullable = true)
	private String activation;//会员状态，0:激活，1:未激活
	
	
	//直推三个以上，公司奖励3000元产品，只会发生一次（这个3000元系统只给出提示，帐户不发生变动，由外线人员去给该员工发奖品或奖金）
	@Column(length = 10,nullable = true)
	private String recommended3Status;//直接推荐三人以上的状态，0:推荐人数大于三人 1:推荐人数小于等于三人

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public Long getUserNo() {
		return userNo;
	}

	public void setUserNo(Long userNo) {
		this.userNo = userNo;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getOperationPwd() {
		return operationPwd;
	}

	public void setOperationPwd(String operationPwd) {
		this.operationPwd = operationPwd;
	}

	public String getNickName() {
		return nickName;
	}

	public void setNickName(String nickName) {
		this.nickName = nickName;
	}

	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getIdNo() {
		return idNo;
	}

	public void setIdNo(String idNo) {
		this.idNo = idNo;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getTelephone() {
		return telephone;
	}

	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}

	public String getMobilephone() {
		return mobilephone;
	}

	public void setMobilephone(String mobilephone) {
		this.mobilephone = mobilephone;
	}

	public String getQq() {
		return qq;
	}

	public void setQq(String qq) {
		this.qq = qq;
	}

	public String getMsn() {
		return msn;
	}

	public void setMsn(String msn) {
		this.msn = msn;
	}

	public String getPostcode() {
		return postcode;
	}

	public void setPostcode(String postcode) {
		this.postcode = postcode;
	}

	public String getAccountUserName() {
		return accountUserName;
	}

	public void setAccountUserName(String accountUserName) {
		this.accountUserName = accountUserName;
	}

	public String getBankName() {
		return bankName;
	}

	public void setBankName(String bankName) {
		this.bankName = bankName;
	}

	public String getBranchBankName() {
		return branchBankName;
	}

	public void setBranchBankName(String branchBankName) {
		this.branchBankName = branchBankName;
	}

	public String getBranchCardNo() {
		return branchCardNo;
	}

	public void setBranchCardNo(String branchCardNo) {
		this.branchCardNo = branchCardNo;
	}

	public String getProvince() {
		return province;
	}

	public void setProvince(String province) {
		this.province = province;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public Date getAddDate() {
		return addDate;
	}

	public void setAddDate(Date addDate) {
		this.addDate = addDate;
	}

	public String getActivation() {
		return activation;
	}

	public void setActivation(String activation) {
		this.activation = activation;
	}

	public Long getReferrerNo() {
		return referrerNo;
	}

	public void setReferrerNo(Long referrerNo) {
		this.referrerNo = referrerNo;
	}

	public Long getParentNodeUserNo() {
		return parentNodeUserNo;
	}

	public void setParentNodeUserNo(Long parentNodeUserNo) {
		this.parentNodeUserNo = parentNodeUserNo;
	}

	public Double getMyAccountBalance() {
		return myAccountBalance;
	}

	public void setMyAccountBalance(Double myAccountBalance) {
		this.myAccountBalance = myAccountBalance;
	}

	public String getStarLevel() {
		return starLevel;
	}

	public void setStarLevel(String starLevel) {
		this.starLevel = starLevel;
	}

	public String getRecommended3Status() {
		return recommended3Status;
	}

	public void setRecommended3Status(String recommended3Status) {
		this.recommended3Status = recommended3Status;
	}

}
